package com.rcadmin.busi.web.contant;

import java.util.List;

import com.google.common.collect.Lists;
import com.rcadmin.busi.admin.ddl.SysParam;

/**
 * 模板类型
 * 
 * @author tanson lam
 * @creation 2015年5月18日
 */
public enum GroupType {
	NAV("0", "导航分类"), BANNER("1", "栏目分类");

	private String type;

	private String msg;

	private GroupType(String type, String msg) {
		this.type = type;
		this.msg = msg;
	}

	public String getType() {
		return type;
	}

	public String getMsg() {
		return msg;
	}

	public static GroupType ofTemplateType(String type) {
		if (type == null)
			return GroupType.NAV;
		for (GroupType templateType : GroupType.values()) {
			if (templateType.type.equals(type)) {
				return templateType;
			}
		}
		throw new IllegalArgumentException("can not match type:" + type);
	}

	public static List<SysParam> ofSystemParam() {
		return ofSystemParam(null);
	}

	/**
	 * 获取模板类型信息，并封装到{@link #SysParam}对象列表返回。
	 */
	public static List<SysParam> ofSystemParam(GroupType groupType) {

		List<SysParam> sysParamList = Lists.newArrayList();
		for (GroupType templateType : GroupType.values()) {
			if (groupType != null && !groupType.equals(templateType))
				continue;
			SysParam p = new SysParam();
			p.setParamValue(templateType.getType().toString());
			p.setParamName(templateType.getMsg());
			sysParamList.add(p);
		}
		return sysParamList;
	}
}
